<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>let&const</title>
</head>
<body>

</body>
<script>
  /**
   *  ES6  --- EMCA Script 6
   *    ES5
   *
   *    数据类型  ---
   *         var ----let 、const
   *         数据使用 --- 结构赋值
   *    流程控制
   *    模块化
   *         函数---箭头函数
   *         promise ---- 回调地狱
   *             foo(a,function(data){
   *                 boo(b,function(data2){
   *                     ioo(c,function(){
   *
   *                     })
   *                 })
   *             })
   *
   *             foo(a).then(function(data){
   *                 return boo(data)
   *             }).then(function(data){
   *                 return ioo(data)
   *             }).then(function(){
   *
   *             })
   *
   *             模块化
   *                隐藏  private
   *                封装
   * */



  /**
   *   let  ---- 块级作用域
   *     for
   *
   *     ES5  没有块级作用域
   *          只要存在引用，变量就不会销毁
   *       var
   *     ES6  存在块级作用域
   *
   *       弱类型
   *          1. 随时变换数据类型 --- ts ---强类型
   *          2. 没有块级作用域  ---- es6 ---块级作用域
   *
   *       MongoDB --- 函数式编程 --链式编程    ---js
   * */

  for (let i = 0; i < 5; i++) { //快捷作用域
      console.log(i);
  }

  console.log(i);// 报错？

  /**
   * const 定义常量
   * */


  var boo=1;
  boo=2;

  const MAX = 12;
 // MAX =15;

  const emp1 = {
       id:1,
       name:'Lee',
       age:23
  }

  emp1.age = 45; // 算不算再次赋值

  //emp1 = {};

</script>

</html>